// Copyright XXX Inc.  All rights reserved.
// 许可证
// 作者：软件1902冯若轩

// 本软件提供自动生成中小学数学卷子的功能，生成的试卷保存在相应账号的文件夹下。
// 该文件是保存账号信息的数据库的定义，其提供用户登录的接口

#include "database.h"

namespace paper {
namespace database {

using paper::io::GetAllUser;
using std::string;

// 调用GetAllUser函数，从users.txt中读取全部账号信息
Database::Database() { all_user_ = GetAllUser(); }

// 遍历数据库，如果存在一个用户与输入的用户名和密码均对应，则登陆成功，返回该账号
// 的类型；不成功则返回空类型标志'N'
char Database::LoginCheck(const string& username, const string& password) {
  int i;
  for (i = 0; i < all_user_.size(); i++) {
    if (username == all_user_[i].username &&
        password == all_user_[i].password) {
      return all_user_[i].type;
    }
  }
  return 'N';
}

// 打印数据库中全部的账号信息
void Database::Test() {
  int i;
  for (i = 0; i < all_user_.size(); i++) {
    printf("%s %s %c\n", all_user_[i].username.c_str(),
           all_user_[i].password.c_str(), all_user_[i].type);
  }
}
}  // namespace database
}  // namespace paper